package com.sjz.chat5;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.Toast;

/*
Android平台3种菜单   没有测试
选项菜单(OptionMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)。
OptionMenu
	1. 如何触发Menu的显示?
		点击menu键
	2. 如何向Menu中添加MenuItem?
		重写onCreateOptionMenu()
		menu.add()或者加载菜单文件
	3. 选择某个MenuItem时如何响应?
		重写onOptionsItemSelected(), 根据itemId做响应
ContextMenu
	1. 如何触发Menu的显示?
		长按某个视图
		view.setOnCreateContextMenuListener(this)
	2. 如何向Menu中添加MenuItem?
		重写onCreateContextMenu()
		menu.add()
	3. 选择某个MenuItem时如何响应?
		重写onContextItemSelected(), 根据itemId做响应
 */
public class MenuActivity extends Activity {
    private Button btn_test2_show_cm;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

        btn_test2_show_cm=findViewById(R.id.btn_test2_show_cm);
        //设置创建上下文菜单的监听
        btn_test2_show_cm.setOnCreateContextMenuListener(this);
    }

    /****
     * 点击菜单键触发的方法
     * add(int groupId, int itemId, int order, CharSequence title）
     * groupId 组标示符应该是这个项（item）的一部分。可以用来定义项（items）中批量状态改变的组。如果一个项（item）不应该在一组一般使用NONE。
     * itemId 唯一的项ID。如果你不需要一个唯一ID，可以用NONE。
     * order 项（item）的排序，如果不需要排序可以使用NONE。 title 项（item）显示的文本。
     * @param menu
     * @return
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // 纯编码方式
        menu.add(0, 2, 0, "添加");
        menu.add(0, 3, 0, "删除");
        return super.onCreateOptionsMenu(menu);
    }

    /****
     * 点击某一条选中触发
     * @param item
     * @return
     */
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        item.getItemId();
        switch (item.getItemId()){
            case 2:
                Toast.makeText(MenuActivity.this,"添加",Toast.LENGTH_SHORT).show();
                break;
            case 3:
                Toast.makeText(MenuActivity.this,"删除",Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}